home *** CD-ROM | disk | FTP | other *** search
/ Aminet 5 / Aminet 5 - March 1995.iso / Aminet / docs / rview / HighSpeedPasca.txt < prev    next >
Internet Message Format  |  1994-11-15  |  17KB

  1. Path: news.uh.edu!barrett
  2. From: c.j.coulson@newcastle.ac.uk (C. J. Coulson)
  3. Newsgroups: comp.sys.amiga.reviews
  4. Subject: REVIEW: HighSpeed Pascal compiler
  5. Followup-To: comp.sys.amiga.programmer
  6. Date: 15 Nov 1994 22:25:09 GMT
  7. Organization: The Amiga Online Review Column - ed. Daniel Barrett
  8. Lines: 378
  9. Sender: amiga-reviews@math.uh.edu (comp.sys.amiga.reviews moderator)
  10. Distribution: world
  11. Message-ID: <3abcg5$6ne@masala.cc.uh.edu>
  12. Reply-To: c.j.coulson@newcastle.ac.uk (C. J. Coulson)
  13. NNTP-Posting-Host: karazm.math.uh.edu
  14. Keywords: programming, Pascal, commercial
  15. Originator: barrett@karazm.math.uh.edu
  16.  
  17.  
  18. PRODUCT NAME
  19.  
  20.     HighSpeed Pascal ("HSPascal")
  21.  
  22.     The bulk of this review is about version 1.10; however I have
  23. included some additional information about the new version 1.20 that was
  24. released in late September/early October 1994.
  25.  
  26.  
  27. BRIEF DESCRIPTION
  28.  
  29.     An Amiga Pascal compiler that is very nearly 100% compatible with
  30. Turbo Pascal 5.0.
  31.  
  32.  
  33. AUTHOR/COMPANY INFORMATION
  34.  
  35.     Name:        HiSoft
  36.     Address:    The Old School
  37.             Greenfield
  38.             Bedford
  39.             England
  40.             MK45 5DE
  41.  
  42.     Telephone:    +44 525 718181
  43.     FAX:        +44 525 713716
  44.  
  45.     E-mail:        hisoft@cix.compulink.co.uk
  46.  
  47.  
  48. LIST PRICE
  49.  
  50.  
  51.     Version 1.10 is currently being advertised for 49.95 UK Pounds, with
  52. the full price of V1.20 99.95 UK Pounds.
  53.  
  54.     Upgrades for registered users are available:
  55.  
  56.     From V1.00 to V1.20 - 14.95 UK Pounds + postage
  57.     From V1.10 to V1.20 -  9.95 UK Pounds + postage
  58.  
  59.     Postage is currently 2.00 UKP within the UK, 4.00 UKP in Europe and
  60. 7.00 UKP anywhere else.
  61.  
  62.  
  63. SPECIAL HARDWARE AND SOFTWARE REQUIREMENTS
  64.  
  65.     HARDWARE
  66.  
  67.         512K RAM required.  I recommend 2MB RAM or more.
  68.  
  69.         I recommend a second floppy drive or a hard drive.
  70.         Hard drive installation requires 1.5MB of hard drive space.
  71.  
  72.     SOFTWARE
  73.  
  74.         Workbench 1.3 or higher required.
  75.  
  76.  
  77. COPY PROTECTION
  78.  
  79.     None.
  80.  
  81.  
  82. MACHINE USED FOR TESTING
  83.  
  84.     Amiga 4000/030/882 - 25MHz
  85.     2MB Chip RAM, 4MB Fast RAM
  86.     124MB Seagate Hard Drive
  87.     405MB Samsung Hard Drive
  88.     Microvitec 1438 Multisync Monitor
  89.     AmigaDOS 3.0
  90.  
  91.  
  92. INSTALLATION
  93.  
  94.     V1.10 requires manual installation, which is best carried out by
  95. dragging the directories/files from the floppy to the required location on
  96. the hard drive.  V1.20 includes an Installer script that makes life a lot
  97. easier.  The installation requires about 1.5MB of hard drive space.
  98.  
  99.  
  100. REVIEW
  101.  
  102.     My first impressions of this package were good.  Upon opening the
  103. box, I encountered two very nicely put together manuals and a HiSoft disk
  104. wallet containing the four disks:  two for each version of the compiler.
  105. (V1.20 comes on two disks, containing all the 1.3 and 2.0+ files in
  106. archives.)  There is no empty space inside the box, unlike a lot of other
  107. commercial utilities.  When everything is put inside, the box feels quite
  108. heavy and well filled, which somehow gives you a feeling of getting value for
  109. your money. :-)
  110.  
  111.     Anyway, after a painless installation, I got my first view of the
  112. HiSoft editor.  For Devpac3 users, the HighSpeed Pascal editor will be
  113. instantly familiar, as it is virtually identical, with only a few changes in
  114. the settings menus (after all it is a Pascal compiler, not a 68000 assembler
  115. :-)).  The editor supplied with V1.20 is slightly different.  Although is
  116. appears the same on the surface, most of the menus have been re-arranged,
  117. with some old options being either renamed or removed and replaced with new
  118. options.  After a year of using V1.10, I am a little lost in the new editor
  119. layout, but it does have advantages over the old editor's and is totally
  120. AmigaDOS 3.0 compliant.
  121.  
  122.     For those who have never experienced a HiSoft editor before, here is
  123. a quick rundown on what to expect.  The editor runs on the Workbench screen;
  124. so if you can, you should probably run Workbench in some high resolution
  125. mode, unless you like editing source code in medium resolution.  The fonts
  126. used for the source code display and menus are user-definable, which is a
  127. good thing.  There are several menus with quite a few options/sub-menus to
  128. deal with, and some of the menu choices lead to new windows containing cycle
  129. gadgets and string requesters for even more configuration options.  As far
  130. as I know, even the 1.3 version of the compiler features 2.0+ style screen
  131. gadgets via hard coded gadget routines.
  132.  
  133.     V1.20 note: You no longer need to use the Workbench screen. It can
  134. use the Workbench screen, open its own screen in any screen mode your Amiga
  135. can generate, or even run on a public screen.  To test this last feature,
  136. some of this review, like this paragraph, was written with HighSpeed Pascal
  137. running on the public screen opened by Powerpacker 3.  Being able to open
  138. its own screen is also useful if, like me for instance, you like having a
  139. colourful Workbench but also want fast scrolling through your source code.
  140. No problem:  just make HSPascal open its own 2 or 4 colour screen and you
  141. have the best of both worlds.  I assume that it will even work on third
  142. party display boards that add their screen modes into the system mode list,
  143. though I can't test this for myself (would someone like to donate a 24-bit
  144. graphics card?).
  145.  
  146.     The editor is so good at its job that I use it all the time as a
  147. general text editor.  OK, it's not as good as a dedicated text editor, but
  148. since these tend to cost just as much as the entire HSPascal package, I'll
  149. stick to using the HiSoft editor.  Of course, if you prefer using another
  150. text editor to edit your source code, you can do so.  You can then either
  151. load the source into the HiSoft editor and use the in-built compiler options
  152. to compile the code, or you can just use the CLI interface to the compiler,
  153. which is VERY similar to the DOS interface for PC Turbo Pascal.
  154.  
  155.     So, once you've got your source code on disk and ready to compile,
  156. how well does HighSpeed Pascal cope with that?  "Very well" is the answer.
  157. HSPascal implements virtually all of the Turbo Pascal 5.0 functions, with
  158. only the scalable typeface support and some PC specific things missing, like
  159. the memory overlay management commands.  Oh yes, the inline assembler uses
  160. 68000 code rather than 8086 code. :-)
  161.  
  162.     There are a few little compatibility problems that are related to the
  163. differences between the Amiga and the PC, mainly in the DOS unit.  However,
  164. they are documented in the Technical Reference manual.  Some other problems
  165. are not.  For example, the standard PC DOS shell is a 25 line display.  On an
  166. Amiga, the Shell display is any height you like.  Thus a Pascal program
  167. written on the PC expecting a 25 line display may well cause a garbled
  168. display on the Amiga.  Of course there are ways around this, like using the
  169. inbuilt function to test the size of the Shell display before writing to
  170. it.  Note that most problems will occur when using Pascal code written for
  171. use on a PC, or if following Pascal tutorials from Turbo Pascal textbooks,
  172. all of which assume that Turbo Pascal is a PC only product (which,
  173. technically, it is).  If you are not concerned with the portability of your
  174. code, you can happily ignore any differences between PC and Amiga and just
  175. get on with writing code.
  176.  
  177.     So, what about those programmers who would like to include, say,
  178. Intuition routines in their programs?  Well, HighSpeed Pascal does not
  179. directly support Intuition nor any Amiga system functions other than those
  180. needed to emulate Turbo Pascal functions.  Thus, whilst disk handling is
  181. fairly well done, graphics handling is primitive and audio support
  182. apparently non-existent.  However, a full set of Includes are provided (for
  183. AmigaDOS 1.3 and 2.0 with HighSpeed V1.10, or for AmigaDOS 1.3 and 3.0 with
  184. HighSpeed V1.20) so anyone with knowledge of system programming could use
  185. HighSpeed Pascal to create system accessing programs.  For anyone who wants
  186. to write programs like this but who does not know anything about programming
  187. the system directly, you really should steer clear of HighSpeed Pascal.
  188.  
  189.     What market is HighSpeed Pascal aimed at?  It would seem that
  190. primarily it is intended for those programmers who need to write standard
  191. Turbo Pascal compatible code without going near a PC, and as a secondary
  192. function, by providing hooks into the operating system, it can be used by
  193. Amiga programmers who might otherwise choose to use C, Assembler, or any
  194. other language.  Personally, I bought it when my Electronics Degree project
  195. became too much for PCQ Pascal to handle.  For my needs, writing a 7000+ line
  196. piece of Turbo Pascal code, HighSpeed Pascal was the ideal compiler, allowing
  197. me to write code that I knew, with a little bit of care when writing the DOS
  198. related routines, would function identically on both my Amiga and the
  199. University PCs, and I didn't need to so much as look at a PC to write the
  200. code.  In seven months of program development, I only used a PC during the
  201. last month as part of the final testing/debugging phase of the project.
  202.  
  203.     Supplied as part of the package is MonAm, the HiSoft debugger.
  204. Unfortunately, it is designed to be a 68000 debugger and as a result you will
  205. require some knowledge of 68000 assembler in order to get the most out of
  206. this utility.  To aid debugging, programs can be compiled with debugging data
  207. embedded in the executable, which allows the debugger to display functions
  208. and procedures by name rather than by some arbitrary identifier.
  209. Additionally, you can display the 68000 code alongside the Pascal source and
  210. single step through the code.  It must be stressed that MonAm is NOT a
  211. Pascal debugger, and as the manual states, "One thing to consider before
  212. groping around inside your program with MonAm is that many bugs can be
  213. discovered much more easily by simply looking at the source code."
  214.  
  215.  
  216. COMPILATION SPEEDS
  217.  
  218.     The following times show how long HighSpeed Pascal takes to compile
  219. various length pieces of code, when the source code is stored on hard drive
  220. and the executable file is written to the same hard drive.  Note that V1.10
  221. and V1.20 are almost identical in compilation speed, with V1.20 being
  222. slightly slower (around a second or two) for long files.  Of course, since
  223. V1.20 uses the AmigaDOS 3.0 includes and link library, which are larger than
  224. the 2.0 equivalents, the extra data handling required for these support
  225. files may be the cause of the speed differences.
  226.  
  227.     Program Length (KB/Lines)    Compilation Time
  228.  
  229.     Minimal program            less than 0.5 second
  230.     20KB/500 lines or less        less than 3 seconds
  231.     160KB/7000 lines        9 seconds
  232.  
  233.     The "Minimal program" is the shortest possible (I think) Turbo Pascal
  234. program:
  235.  
  236.     PROGRAM x;
  237.     BEGIN
  238.     END.
  239.  
  240. This test shows the time overheads incurred by the compiler and linker.
  241.  
  242.     In the third case, the program consisted of a skeleton main program
  243. with most of the code contained in 13 user defined units, along with one
  244. pre-defined unit.  In total then, 15 disk files were used to compile this
  245. program; yet even with all the disk accessing required, compilation was
  246. still very fast indeed.
  247.  
  248.     The limited (!) number of results is due to two things.  First, I
  249. don't have all that many Pascal programs available to test, and second, most
  250. of the programs I do have are so short that they compile in about 1 second.
  251. Unless you are writing a huge program or are compiling from floppy to
  252. floppy on a 0.5MB 7MHz 68000 Amiga, HighSpeed Pascal lives up to its name.
  253.  
  254.  
  255. DOCUMENTATION
  256.  
  257.     The 202-page User Manual (spiral bound) contains information about
  258. the use of the software.  The 278-page Technical Reference (spiral bound)
  259. containing information about the inbuilt functions/procedures, and some
  260. information about general Turbo Pascal syntax.  An on-disk README file
  261. contains the latest information about the specific software versions/disk
  262. contents, etc.
  263.  
  264.     The quality of the printed manuals is very good indeed, and unlike
  265. most companies producing Amiga compilers, HiSoft realise the best form of
  266. binding for a software manual is the spiral bound method.  No more straining
  267. with one hand to keep the manual open at the page you want, whilst trying to
  268. type with your other hand.  The contents and index sections are on the whole
  269. very well done, allowing you to find what you want very easily.
  270.  
  271.     The Technical Reference is NOT a Pascal programming guide.  You will
  272. need to know at least how to program in Standard Pascal before using this
  273. compiler.  What the reference DOES tell you is the syntax of every function
  274. and procedure provided either within HighSpeed Pascal itself, or in the
  275. supplied units (DOS, Graph etc.).  It also describes the basic syntax of the
  276. Pascal constructs like REPEAT..UNTIL, CASE, IF..THEN..ELSE etc. and also the
  277. format of the various pre-defined variable types.  In short, it describes
  278. all you need to know to write code using the HighSpeed Pascal extensions to
  279. the basic Pascal language.  Of course, if you already have experience with
  280. TurboPascal 5.0 on the PC, you should be able to dive in and write code
  281. without much use of the Reference.
  282.  
  283.  
  284. LIKES
  285.  
  286.     It is a very well programmed utility that is, as far as I can see,
  287. completely Style Guide compliant.  It works without complaint regardless of
  288. what commodities I have installed, and as far as the editing and compiling of
  289. source is concerned, it has shown itself to be VERY VERY stable.  Of course,
  290. once you run a compiled program either from the Shell, the Workbench or from
  291. the Run option, HSPascal can do little if the program causes a system
  292. failure, but that is not a fault of HSPascal.
  293.  
  294.  
  295. DISLIKES AND SUGGESTIONS
  296.  
  297.     It is a pity that HiSoft did not extend the TurboPascal function set
  298. to add Amiga specific functions, such as the automatic creation of Intuition
  299. windows, menus etc., in the same way that BlitzBasic allows you to create
  300. Intuition interfaces with little effort.  A missed chance by HiSoft I think.
  301.  
  302.     There is no on-line help available.  Although the printed manuals are
  303. excellent, there are times when on-line aid is more useful.  (CD-ROM owners
  304. see below).
  305.  
  306.  
  307. CD-ROM OWNERS READ THIS
  308.  
  309.     The following is copied from a letter I received from HiSoft.
  310.  
  311.     "The HiSoft Language CD-ROM will contain the latest versions of all
  312. three language packages; each system is supplied ready to run from the CD,
  313. with installation programs to install the individual programs onto your hard
  314. disk.  Full on-line documentation for each package using AmigaGuide is also
  315. included."  Note: 'all three language packages' refers to Devpac, Pascal and
  316. BASIC.
  317.  
  318.     No price or release dates are known at this time, but it is good to
  319. see HiSoft promoting the serious use of CD-ROMs on the Amiga.
  320.  
  321.  
  322. COMPARISON TO OTHER SIMILAR PRODUCTS
  323.  
  324.     As far as Amiga Pascal products go, the only other compiler I have
  325. used is PCQ Pascal, which was public domain and is now, I believe, shareware.
  326. Since PCQ supported only the Standard Pascal command set, and since it relied
  327. on using other PD products like A68K and Blink to create the final executable
  328. program, it cannot be fairly compared to a commercial TurboPascal compiler
  329. like HSPascal.
  330.  
  331.     Compared to TurboPascal 6.0 on the PC, HSPascal wins on looks, since
  332. Turbo 6 does not have a Windows interface.  As far as compilation of code
  333. goes, both compilers seem to work as well as each other, although I think
  334. HSPascal is somewhat faster in compiling (subjective opinion only).  As an
  335. Amiga user, I prefer using HSPascal, and only use TurboPascal if I have to be
  336. sure that my code will work on a PC, and even then I would only use it to
  337. test the code *after* I had written it using HSPascal.
  338.  
  339.  
  340. BUGS
  341.  
  342.     None that I know of.
  343.  
  344.  
  345. VENDOR SUPPORT
  346.  
  347.     I have not had to contact the vendor at all.
  348.  
  349.  
  350. WARRANTY
  351.  
  352.     A 30 day period from the date of purchase is provided free.  If you
  353. require further support from HiSoft, you must pay for it.  Two schemes exist:
  354. the Silver Support and Gold Support schemes.  Silver Support costs 19.95 UK
  355. Pounds and is a one-off payment.  This gives you access to technical help
  356. from HiSoft, and also provides access to reduced cost upgrades (see the List
  357. Price section).  Gold Support costs 39.95 UK Pounds PER YEAR, but offers
  358. free incremental upgrades (i.e. from V1.1 to V1.2 would be free, but from
  359. V1.x to V2.x would not be).  Both schemes cover all HiSoft products you may
  360. own without having to pay any extra.  Thus someone with HSPascal, Devpac and
  361. Hisoft Basic could get support for all three by paying just once.  If you
  362. have already registered another HiSoft product, HSPascal will be covered by
  363. that support registration, you only need return the registration card to
  364. activate the support.
  365.  
  366.  
  367. CONCLUSIONS
  368.  
  369.     If you require a fast and reliable Turbo Pascal 5 compatible compiler
  370. for your Amiga, this is the only choice.  If you are just starting out with
  371. Pascal programming, you may prefer the simpler and cheaper PCQ Pascal option,
  372. and perhaps purchase HSPascal at a later date.
  373.  
  374.     Overall this is an excellent utility and is a worthy companion to
  375. the other great HiSoft products available.  (I'm not connected to HiSoft by
  376. the way; I just happen to like their products.)
  377.  
  378.  
  379. COPYRIGHT NOTICE
  380.  
  381.     This is a freely distributable document. Use it however you like, as
  382. long as any alterations do not change the context of the review.  Also, don't
  383. try to pass it off as your own work, because IT ISN'T!
  384.  
  385. Chris
  386. email: c.j.coulson@ncl.ac.uk
  387.  
  388. ---
  389.  
  390.    Daniel Barrett, Moderator, comp.sys.amiga.reviews
  391.    Send reviews to:    amiga-reviews-submissions@math.uh.edu
  392.    Request information:    amiga-reviews-requests@math.uh.edu
  393.    Moderator mail:    amiga-reviews@math.uh.edu
  394.    Anonymous ftp site:  math.uh.edu, in /pub/Amiga/comp.sys.amiga.reviews
  395.